Route planning applications are often used to provide users with directions to points of interest such as particular buildings, addresses, geo-coordinates, and the like. In an example scenario, a user provides a route planning application with at least a beginning location and an ending location (e.g., beginning and ending addresses). The route planning application can analyze representations of roads and intersections to output a route of travel. Conventional route generation algorithms attempt to minimize, or optimize for one of, the total distance of travel or the total time of travel in the routes provided to the user.
Modern route planning applications are built around assumptions of constancy and universality, such that routes provided to users are not optimized for user preferences. While some have basic configurability, they fail to account for trade-offs in preferences users may consider to arrive at an optimal route. An example of such a trade-off is that a driver that typically prefers main roads may be willing to take a side street over a main road in a route when the route is sufficiently more preferable to alternative routes that use the main road. Using conventional approaches, for a user to achieve an optional route requires significant investment of time and resources, such as researching road conditions and manually setting route waypoints.